home *** CD-ROM | disk | FTP | other *** search
/ Softdisk Supreme / Softdisk Supreme.iso / pc / DSK Files / 0-49 / SD018b.dsk / HI.RES.DRAWING.AID.bas < prev    next >
BASIC Source File  |  2003-06-12  |  10KB  |  191 lines

  1. 1  LOMEM: 16384
  2. 30  CLEAR 
  3. 60  PRINT : PRINT  CHR$(4);"BLOAD DRAWING SHAPE ,A$300"
  4. 65  POKE 232,0: POKE 233,3
  5. 75  GOSUB 920
  6. 80  HGR 
  7. 85  GOSUB 2200
  8. 90  HOME : VTAB 21
  9. 92  IF S >0  THEN 170
  10. 100  PRINT "DO YOU WANT A BORDER AROUND THE SCREEN?": PRINT "ENTER (Y/N): ";
  11. 110  GET S$
  12. 120  IF S$ = "N"  THEN 170
  13. 130  IF S$ = "Y"  THEN J8 = 1: GOTO 150
  14. 140  GOTO 110
  15. 150  HOME : HCOLOR= 3
  16. 160  HPLOT 1,1 TO 1,159 TO 279,159 TO 279,1 TO 1,1
  17. 170  HOME : HCOLOR= 3
  18. 180 X = 140:Y = 70:X3 = X:Y3 = Y:S3 = 1:R1 = 1:Z3 = 0: ROT= 0: SCALE= 1:S = 1:R = 0
  19. 200  HCOLOR= 0
  20. 210  POKE  -16368,0
  21. 240  ROT= R3: SCALE= S3: HCOLOR= Z3: DRAW 1 AT X3,Y3: IF Z3 = 3  AND X = X3  AND Y = Y3  THEN  HCOLOR= 0: DRAW 1 AT X3,Y3
  22. 250  IF Z3 < >3  AND Z3 < >0  AND Z3 < >7  AND S3 = 1  THEN  HCOLOR= Z3: DRAW 1 AT X3 +1,Y3
  23. 260 C1 = 10
  24. 270  IF R1 = 3  THEN C1 = (Y -(S/2)) -3
  25. 275  IF C1 <0  THEN Y = Y +1
  26. 280  IF R1 = 4  THEN C1 = (Y +(S/2)) +1
  27. 290  HCOLOR= 3
  28. 300  IF C1 >159  THEN Y = Y -1
  29. 310  IF C1 >159  AND J8 = 1  THEN  HPLOT 1,159 TO 279,159
  30. 320  IF R1 >2  AND ((X +(S/2)) -(R1 = 3)) >277  THEN X = X -1
  31. 321  IF R1 >2  AND ((X +(S/2)) -(R1 = 3)) >276  AND J8 = 1  THEN  GOSUB 2100
  32. 340  IF R1 = 1  THEN C1 = Y -S
  33. 360  IF C1 <1  AND J8 = 1  THEN  GOSUB 2100
  34. 370  IF R1 = 2  THEN C1 = X +S
  35. 380  IF C1 >278  THEN X = X -1
  36. 390  IF C1 >278  AND J8 = 1  THEN  GOSUB 2100
  37. 400  HCOLOR= Z3
  38. 410  IF X = 1  THEN X = 2
  39. 420  IF Y = 159  THEN Y = 158
  40. 430  IF X = 279  THEN X = 278
  41. 440  IF Y = 1  THEN Y = 2
  42. 450  HCOLOR= 3: SCALE= S: ROT= R: DRAW 1 AT X,Y
  43. 460  VTAB 21: PRINT "'ESC'=EXIT": PRINT "'R'=ROTATE"
  44. 470  VTAB 21: HTAB 30: PRINT "COLOR=";Z3
  45. 480  VTAB 22: HTAB 30: PRINT "SCALE=";S3;" "
  46. 490  VTAB 23: PRINT "'L'=MOVE TO A NEW LOCATION"
  47. 500 X3 = X:Y3 = Y:S3 = S:R3 = R
  48. 530  IF Z = 195  THEN  POKE  -16368,0
  49. 540 Z =  PEEK( -16384)
  50. 550  IF Z = 155  THEN 1930
  51. 555 V4 = 0
  52. 560  IF Z = 201  OR Z = 213  OR Z = 207  THEN Y = Y -1:V4 = 1
  53. 565  IF Z = 205  OR Z = 206  OR Z = 172  THEN Y = Y +1:V4 = 1
  54. 570  IF Z = 202  OR Z = 213  OR Z = 206  THEN X = X -1:V4 = 1
  55. 575  IF Z = 203  OR Z = 207  OR Z = 172  THEN X = X +1:V4 = 1
  56. 580  IF V4 = 1  THEN 240
  57. 640  IF Z = 204  THEN  GOSUB 850
  58. 650  IF Z = 210  THEN 730
  59. 660  IF Z = 211  AND S = 1  THEN 240
  60. 670  IF Z = 211  THEN S = S -1: SCALE= S: GOTO 240
  61. 680  IF Z = 198  THEN  SCALE= S +1:S = S +1: GOTO 240
  62. 690  IF Z = 195  THEN Z3 = Z3 +1: IF Z3 = 8  THEN Z3 = 1
  63. 700  IF Z3 = 4  THEN Z3 = 5: HCOLOR= 5
  64. 710  IF Z = 197  THEN  HCOLOR= 0:Z3 = 0
  65. 721  GOTO 240
  66. 730  HOME : VTAB 23: HTAB 10: PRINT "1=!  2=-  3=/  4=OPPOSITE OF 3"
  67. 740  VTAB 21: PRINT "ROTATE TO WHAT? ";
  68. 750  GET R$
  69. 760 R1 =  VAL(R$): IF R1 >4  OR R1 <1  THEN 750
  70. 770  IF S = 1  AND R1 >2  THEN 820
  71. 780  IF R1 = 1  THEN R = 0
  72. 790  IF R1 = 2  THEN R = 16
  73. 800  IF R1 = 3  THEN R = 8
  74. 810  IF R1 = 4  THEN R = 24
  75. 820  HOME : GOTO 240
  76. 850  POKE  -16368,0: HOME : VTAB 22: PRINT "'0' TO GO ON": VTAB 21: INPUT "HORIZONTAL LOCATION? (2-278) ";H: IF H = 0  THEN 880
  77. 860  IF H <2  OR H >278  THEN 850
  78. 870 X = H
  79. 880  HOME : VTAB 22: PRINT "'0' TO GO BACK": VTAB 21: INPUT "VERTICAL LOCATION? (2-158) ";H: IF H = 0  THEN 910
  80. 890  IF H <2  OR H >158  THEN 880
  81. 900 Y = H
  82. 910  HOME : RETURN 
  83. 920  TEXT : HOME 
  84. 930  VTAB 7: HTAB 8
  85. 940  PRINT "1 -- DRAW A PICTURE"
  86. 950  PRINT : HTAB 8: PRINT "2 -- LOAD A PICTURE FROM DISK": PRINT 
  87. 960  HTAB 8: PRINT "3 -- LOOK AT INSTRUCTIONS"
  88. 970  PRINT : HTAB 8: PRINT "4 -- END"
  89. 980  PRINT : PRINT : HTAB 12: PRINT "CHOOSE ONE--> ";
  90. 990  GET S$:S =  VAL(S$): IF S >4  OR S <1  THEN 990
  91. 1000  ON S GOTO 80,1060,1320
  92. 1030  ONERR  GOTO 1050
  93. 1040  IF S = 4  THEN  HOME : PRINT : PRINT  CHR$(4);"RUN KICK.IT.OFF"
  94. 1050  END 
  95. 1060  HOME : POKE 32,5: POKE 34,5
  96. 1070  HOME : PRINT "1 -- LOOK AT SAMPLE DRAWING": PRINT : PRINT "2 -- LOOK AT CATALOG": PRINT : PRINT "3 -- LOAD A DRAWING"
  97. 1080  PRINT : PRINT "4 -- GO BACK"
  98. 1090  PRINT : PRINT : HTAB 8: PRINT "CHOOSE ONE--> ";
  99. 1100  GET S$:S =  VAL(S$): IF S >4  OR S <1  THEN 1100
  100. 1110  TEXT 
  101. 1120  IF S = 4  THEN 920
  102. 1130  IF S = 1  THEN N$ = "SOFTDISK.SAMPLE.PIC"
  103. 1140  IF S = 2  THEN  HOME : PRINT : PRINT  CHR$(4);"CATALOG": PRINT : INVERSE : PRINT "HIT THE SPACE BAR TO GO ON";
  104. 1160  IF S = 2  THEN  NORMAL : GET S$: IF S$ < > CHR$(32)  THEN 1160
  105. 1170  IF S = 2  THEN 1060
  106. 1180  IF S = 3  THEN  HOME : VTAB 11: INPUT "NAME OF DRAWING ON DISK? ";N$
  107. 1190  HGR : HOME : TEXT 
  108. 1200  ONERR  GOTO 1250
  109. 1210  VTAB 11: INVERSE : FLASH : HTAB 12: PRINT "LOADING PICTURE": NORMAL 
  110. 1220  PRINT : PRINT  CHR$(4);"BLOAD ";N$
  111. 1230  POKE  -16304,0: POKE  -16300,1
  112. 1240  GOTO 1270
  113. 1250  HOME : TEXT : VTAB 11: PRINT "THERE IS NO FILE WITH THAT NAME ON THIS": PRINT "DISK": FOR X = 1 TO 2500: NEXT 
  114. 1260  GOTO 1060
  115. 1270  HOME : VTAB 21: PRINT "1 -- DRAW ON THIS DRAWING": PRINT "2 -- START A NEW DRAWING": PRINT "3 -- END THIS PROGRAM"
  116. 1280  VTAB 24: PRINT "CHOOSE ONE--> ";: GET S$:S =  VAL(S$): IF S >3  OR S <1  THEN 1280
  117. 1290  ON S GOTO 170,80,920
  118. 1320  HOME : PRINT "THERE ARE QUITE A NUMBER OF COMMANDS,": PRINT : PRINT "SO YOU MIGHT WANT TO MAKE A HARD COPY": PRINT : PRINT "OF THEM."
  119. 1330  PRINT : HTAB 5: PRINT "1 -- LOOK AT INSTRUCTIONS ON CRT": PRINT : HTAB 5: PRINT "2 -- HARD COPY OF COMMANDS"
  120. 1340  VTAB 11
  121. 1350  PRINT : HTAB 10: PRINT "CHOOSE ONE--> ";
  122. 1360  GET S$: IF S$ = "1"  THEN 1440
  123. 1370  IF S$ = "2"  THEN  HOME : VTAB 10: HTAB 8: PRINT "TURN ON YOUR PRINTER": FOR X = 1 TO 1500: NEXT : VTAB 12: HTAB 8: PRINT "NOW HIT 'RETURN'": POKE  -16368,0
  124. 1375  IF S$ = "2"  THEN  GET S$: IF S$ < > CHR$(13)  THEN S$ = "2": GOTO 1375
  125. 1376  IF S$ =  CHR$(13)  THEN  PRINT : PR# 1: GOTO 1440
  126. 1380  GOTO 1340
  127. 1440  HOME 
  128. 1450  PRINT "THIS PROGRAM ALLOWS YOU TO PAINT ON THE": PRINT : PRINT "HI-RES SCREEN. YOU CAN SAVE A DRAWING"
  129. 1460  PRINT : PRINT "TO THE DISK OR LOAD ONE FROM THE DISK": PRINT : PRINT "AND DISPLAY IT OR DRAW ON IT. YOU WILL"
  130. 1470  PRINT : PRINT "BE ASKED IF YOU WANT TO SAVE YOUR": PRINT : PRINT "DRAWING TO THE DISK WHEN YOU FINISH THE": PRINT : PRINT "PROGRAM"
  131. 1480  PRINT : PRINT : INVERSE : PRINT "HIT THE SPACE BAR TO GO ON";: POKE  -16368,0
  132. 1490  GET S$: IF S$ < > CHR$(32)  THEN 1490
  133. 1500  NORMAL : HOME 
  134. 1510  PRINT "YOU WILL DRAW ON THE SCREEN WITH A": PRINT : PRINT "'BRUSH' THAT CAN VARY IN WIDTH AND": PRINT 
  135. 1520  PRINT "COLOR AND CAN MOVE IN 8 DIRECTIONS. YOU": PRINT : PRINT "CONTROL THE DIRECTION WITH THESE KEYS: ": PRINT 
  136. 1530  PRINT "THESE KEYS: ": PRINT 
  137. 1540  PRINT "I=UP": PRINT "J=LEFT": PRINT "K=RIGHT": PRINT "M=DOWN"
  138. 1550  PRINT "U=UP,LEFT": PRINT "O=UP,RIGHT"
  139. 1560  PRINT "N=DOWN,LEFT": PRINT ",=DOWN,RIGHT"
  140. 1570  VTAB 11: HTAB 20
  141. 1580  PRINT "U I O"
  142. 1590  PRINT : HTAB 20
  143. 1600  PRINT " J K"
  144. 1610  PRINT : HTAB 20
  145. 1620  PRINT "N M ,"
  146. 1630  INVERSE 
  147. 1640  VTAB 22: PRINT "HIT THE SPACE BAR TO GO ON";: POKE  -16368,0
  148. 1650  NORMAL 
  149. 1660  GET S$: IF S$ < > CHR$(32)  THEN 1660
  150. 1670  HOME 
  151. 1680  PRINT "IN ADDITION, THERE ARE A FEW OTHER KEYS": PRINT : PRINT "USED TO CONTROL THE 'BRUSH'."
  152. 1690  PRINT : PRINT 
  153. 1700  PRINT "S=MAKES BRUSH SKINNIER": PRINT 
  154. 1710  PRINT "F=MAKES BRUSH FATTER": PRINT 
  155. 1720  PRINT "R=LETS YOU ROTATE THE BRUSH. PUSH 'R'": PRINT "  AND YOU WILL BE ASKED WHICH WAY YOU": PRINT "  WANT IT ROTATED"
  156. 1730  PRINT : PRINT "E=MAKES COLOR BLACK. YOU CAN ERASE OR": PRINT "  MOVE WITHOUT PAINTING THIS WAY"
  157. 1740  PRINT : PRINT "L=LETS YOU SKIP TO ANY PART OF THE": PRINT "  SCREEN. YOU WILL BE ASKED WHERE YOU": PRINT "  WANT TO SKIP OVER TO"
  158. 1750  PRINT : INVERSE 
  159. 1760  PRINT : PRINT "HIT THE SPACE BAR TO GO ON";: POKE  -16368,0
  160. 1770  NORMAL : GET S$: IF S$ < > CHR$(32)  THEN 1770
  161. 1780  HOME 
  162. 1790  PRINT : PRINT "THE COLOR CAN BE CONTROLLED BY HITTING": PRINT : PRINT "THE 'C' KEY. EACH TIME YOU HIT IT, THE": PRINT : PRINT "COLOR WILL CHANGE. KEEP HITTING IT UNTIL"
  163. 1800  PRINT "YOU GET THE DESIRED COLOR. THE CURRENT": PRINT : PRINT "COLOR NUMBER WILL BE PRINTED ON THE": PRINT 
  164. 1810  PRINT "BOTTOM OF THE SCREEN. IF YOU WANT BLACK": PRINT : PRINT "HIT THE 'E' KEY ON THE KEYBOARD": PRINT 
  165. 1820  INVERSE : PRINT "BECAUSE OF THE WAY THE TV WORKS, COLOR ": PRINT "3 (WHITE ON A COLOR TV) WORKS THE BEST ": NORMAL 
  166. 1830  PRINT : PRINT : INVERSE : PRINT "HIT THE SPACE BAR TO GO ON";
  167. 1840  GET S$: IF S$ < > CHR$(32)  THEN 1840
  168. 1850  HOME : VTAB 5
  169. 1860  INVERSE : PRINT "TO EXIT THE PROGRAM, HIT THE 'ESC' KEY.": PRINT "                                       "
  170. 1870  PRINT "YOU WILL THEN HAVE THE OPTION TO SAVE  ": PRINT "                                       "
  171. 1880  PRINT "YOUR DRAWING ON THE DISK               ": NORMAL 
  172. 1890  PRINT : PRINT 
  173. 1900  PRINT : PRINT "HIT THE SPACE BAR TO RETURN TO MAIN MENU";
  174. 1910  GET S$: IF S$ =  CHR$(32)  THEN 920
  175. 1920  GOTO 1910
  176. 1930  HOME : VTAB 21
  177. 1940  PRINT "1 -- SAVE DRAWING TO DISK": PRINT "2 -- DRAW A NEW PICTURE": PRINT "3 -- CONTINUE DRAWING"
  178. 1950  VTAB 21: HTAB 29: PRINT "4 -- END"
  179. 1960  HTAB 1: VTAB 24: PRINT "CHOOSE ONE--> ";: GET S$:S1 =  VAL(S$): IF S1 >4  OR S1 <1  THEN 1960
  180. 1970  IF S1 = 4  THEN  TEXT : HOME : GOTO 65
  181. 1980  IF S1 = 3  THEN  HOME : GOTO 200
  182. 1990  IF S1 = 2  THEN 80
  183. 2000  IF S1 = 1  THEN  HOME : VTAB 21: INPUT "NAME OF PICTURE? ";N$: PRINT : PRINT  CHR$(4);"BSAVE ";N$;",A$2000,L$1FFF": GOTO 1930
  184. 2100  HPLOT 1,1 TO 279,1 TO 279,159 TO 1,159 TO 1,1: RETURN 
  185. 2200  HOME : VTAB 21: POKE  -16368,0: INPUT "WHAT COLOR DO YOU WANT FOR THE          BACKGROUND? (0-7) ";S$
  186. 2205  IF S$ = "0"  THEN S = 0: GOTO 2215
  187. 2210 S =  VAL(S$): IF S <1  OR S >7  THEN 2200
  188. 2215  HCOLOR= S: HPLOT 270,150: CALL 62454: HOME : VTAB 21: PRINT "IS THIS THE COLOR YOU WANT? (Y/N) ";
  189. 2220  GET S$: IF S$ = "Y"  THEN  RETURN 
  190. 2225  IF S$ = "N"  THEN 2200
  191. 2230  GOTO 2220